/*
 * File: TimerTaskMgr.h
 *
 * Code generated for Simulink model 'TimerTaskMgr'.
 *
 * Model version                  : 1.24
 * Simulink Coder version         : 9.6 (R2021b) 14-May-2021
 * C/C++ source code generated on : Thu Jan 12 09:58:56 2023
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Windows64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#ifndef RTW_HEADER_TimerTaskMgr_h_
#define RTW_HEADER_TimerTaskMgr_h_
#ifndef TimerTaskMgr_COMMON_INCLUDES_
#define TimerTaskMgr_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif                                 /* TimerTaskMgr_COMMON_INCLUDES_ */

#include "TimerTaskMgr_types.h"

/* Child system includes */
#include "TimerTaskIf.h"

/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm)         ((rtm)->errorStatus)
#endif

#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val)    ((rtm)->errorStatus = (val))
#endif

/* Block signals (default storage) */
typedef struct {
  boolean_T re5ms;                     /* '<Root>/fnTimerTaskMgr' */
  boolean_T re10ms;                    /* '<Root>/fnTimerTaskMgr' */
  boolean_T re100ms;                   /* '<Root>/fnTimerTaskMgr' */
  boolean_T re1000ms;                  /* '<Root>/fnTimerTaskMgr' */
} B_TimerTaskMgr_T;

/* Block states (default storage) for system '<Root>' */
typedef struct {
  sjcpeMwMRm28LQllBIDrrPE_Timer_T obj; /* '<Root>/fnTimerTaskMgr' */
} DW_TimerTaskMgr_T;

/* External outputs (root outports fed by signals with default storage) */
typedef struct {
  real_T Out1;                         /* '<Root>/Out1' */
  real_T Out2;                         /* '<Root>/Out2' */
  real_T Out3;                         /* '<Root>/Out3' */
  real_T Out4;                         /* '<Root>/Out4' */
} ExtY_TimerTaskMgr_T;

/* Real-time Model Data Structure */
struct tag_RTM_TimerTaskMgr_T {
  const char_T * volatile errorStatus;
};

/* Block signals (default storage) */
extern B_TimerTaskMgr_T TimerTaskMgr_B;

/* Block states (default storage) */
extern DW_TimerTaskMgr_T TimerTaskMgr_DW;

/* External outputs (root outports fed by signals with default storage) */
extern ExtY_TimerTaskMgr_T TimerTaskMgr_Y;

/* Model entry point functions */
extern void TimerTaskMgr_initialize(void);
extern void TimerTaskMgr_step(void);
extern void TimerTaskMgr_terminate(void);

/* Real-time Model object */
extern RT_MODEL_TimerTaskMgr_T *const TimerTaskMgr_M;

/*-
 * The generated code includes comments that allow you to trace directly
 * back to the appropriate location in the model.  The basic format
 * is <system>/block_name, where system is the system number (uniquely
 * assigned by Simulink) and block_name is the name of the block.
 *
 * Use the MATLAB hilite_system command to trace the generated code back
 * to the model.  For example,
 *
 * hilite_system('<S3>')    - opens system 3
 * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
 *
 * Here is the system hierarchy for this model
 *
 * '<Root>' : 'TimerTaskMgr'
 * '<S1>'   : 'TimerTaskMgr/Raise1000ms'
 * '<S2>'   : 'TimerTaskMgr/Raise100ms'
 * '<S3>'   : 'TimerTaskMgr/Raise10ms'
 * '<S4>'   : 'TimerTaskMgr/Raise5ms'
 * '<S5>'   : 'TimerTaskMgr/fnTimerTaskMgr'
 */
#endif                                 /* RTW_HEADER_TimerTaskMgr_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
